Communication system and method for integrating a data distribution service into a time sensitive network

ABSTRACT

A method in a communication network includes determining a transmission schedule for a plurality of data sources. The transmission schedule is configured to meet communication requirements of both time-sensitive traffic and non-time-sensitive traffic of the plurality of data sources. The method may also include transmitting data according to the determined schedule by shaping the time-sensitive traffic and the non-time-sensitive traffic at the plurality of data sources according to the determined schedule and receiving a communication change command. The method may further include determining a new transmission schedule for the plurality of data sources, the new transmission schedule being configured to meet the communication requirements of both the time-sensitive traffic and the non-time-sensitive traffic in the changed communication network. The method may further include transmitting data according to the new transmission schedule.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.16/388,075, filed 18 Apr. 2019, now allowed, which is a continuation ofU.S. patent application Ser. No. 15/199,282, filed 30 Jun. 2016, nowU.S. Pat. No. 10,298,503, the entire disclosure of each of which isincorporated herein by reference.

FIELD

Embodiments of the present disclosure generally relate to systems andmethods for communicating data in networks.

BACKGROUND

Various types of control systems communicate data between differentsensors, devices, user interfaces, etc., in order to enable controloperations of other powered systems. For example, locomotives,automobiles, surgical suites, power plants, etc., include many systemsthat communicate with each other in order to control operations of thelocomotives, automobiles, surgical suites, and power plants.

The operations of these powered systems may rely on on-time and accuratedelivery of data frames among various devices. Failure to deliver somedata at or within designated times may result in failure of the poweredsystem, which can have disastrous consequences. For example, the failureto deliver sensor data to a control system of a locomotive or railvehicle system can result in the locomotive or rail vehicle system notapplying brakes early enough to avoid a collision. Other control systemsmay fail to implement protective measures to avoid damage or injury tothe systems or other equipment if data is not supplied at or within thedesignated times. Without timely information, feedback control systemscannot maintain performance and stability.

Some control systems may use a Data Distribution Service (DDS) tocommunicate on a network between the various devices. But, the DDS isnot integrated with the network, and the network may need to be manuallyconfigured in order to create the network connections for the devicescommunicating within the DDS. Some offline tools can automate theconfiguration changes to a network to allow for changes in communicationbetween the devices, but this can require a system shutdown and restart,which can be unsafe and/or costly with some control systems.

BRIEF DESCRIPTION

In one embodiment, a system includes a scheduling device of a DDSconfigured to determine bandwidth for communication of time sensitivecommunications between devices of a control system using the DDS in atime sensitive network (TSN). The scheduling device also is configuredto determine available bandwidth for communication of non-time sensitivecommunications of the control system using the DDS in the TSN. Thescheduling device is configured to control communication of the non-timesensitive communications in the TSN without preventing communication ofthe time sensitive communications in the TSN based on the availablebandwidth and to control communication of the time sensitivecommunications in the TSN while also allowing for the non-time sensitivecommunications to be communicated in the TSN. The system also includes atraffic shaper of the TSN configured to receive a communication changefrom the control system at the TSN. Responsive to receiving thecommunication change, the scheduling device is configured to change oneor more of the bandwidth for the communication of the time sensitivecommunications or the available bandwidth for the communication of thenon-time sensitive communications in the TSN without restarting at leastone network device of the TSN and while ensuring communications of boththe time sensitive communications and the non-time sensitivecommunications.

In one embodiment, a method includes determining bandwidth forcommunication of time sensitive communications between devices of acontrol system using a DDS in a TSN, and determining available bandwidthfor communication of non-time sensitive communications of the controlsystem using the DDS in the TSN. The method also includes communicatingthe non-time sensitive communications in the TSN without preventingcommunication of the time sensitive communications in the TSN based onthe available bandwidth and communicating the time sensitivecommunications in the TSN while also allowing for the non-time sensitivecommunications to be communicated in the TSN. The method furtherincludes receiving a communication change from the control system at theTSN, and, responsive to the received communication change, changing oneor more of the bandwidth for the communication of the time sensitivecommunications or the available bandwidth for the communication of thenon-time sensitive communications in the TSN without restarting at leastone network device of the TSN and while ensuring communications of boththe time sensitive communications and the non-time sensitivecommunications.

In one embodiment, a distributed communication device includes acontroller configured to one or more of store or access routinginstructions that direct where data packets are to be forwarded within aTSN for one or more writing devices and one or more reader devices of aDDS. The device also includes routing hardware configured to be remotelylocated from the controller. Responsive to receiving instructions fromthe controller to change where the data packets are forwarded within theTSN, the routing hardware is configured to change where the data packetsare forwarded within the TSN without restarting either the controller orthe routing hardware.

BRIEF DESCRIPTION OF THE DRAWINGS

The subject matter described herein will be better understood fromreading the following description of non-limiting embodiments, withreference to the attached drawings, wherein below:

FIG. 1 illustrates one example of a powered system having a controlsystem that uses one or more embodiments of subject matter describedherein;

FIG. 2 illustrates another example of a powered system having a controlsystem that uses one or more embodiments of subject matter describedherein;

FIG. 3 illustrates another example of a powered system having a controlsystem that uses one or more embodiments of subject matter describedherein;

FIG. 4 illustrates another example of a powered system having a controlsystem that uses one or more embodiments of subject matter describedherein;

FIG. 5 illustrates one embodiment of a communication system;

FIG. 6 illustrates another embodiment of a communication system;

FIG. 7 schematically illustrates one example of a traffic profiledetermined by a traffic shaper shown in FIG. 6 for communication withina time sensitive network shown in FIG. 5 ;

FIG. 8 illustrates a flowchart of one embodiment of a method fordynamically integrating a data distribution service into a timesensitive network; and

FIG. 9 illustrates a distributed network communication device accordingto one embodiment.

DETAILED DESCRIPTION

Certain embodiments of the present disclosure provide systems andmethods that integrate a DDS with Time-Sensitive Networking (TSN) suchthat changes to the DDS configuration are reflected within the TSN inreal-time. DDS components, such as writer devices and reader devices(e.g., Writers and Readers) are able to directly communicate directlywith TSN virtual link registration devices (e.g., Talkers and Listeners)to enable TSN stream reservation that dynamically changes to reflect theQuality-of-Service (QoS) requirements of DDS.

In one embodiment, the systems and methods described herein implementthe DDS with software-defined networking (SDN) devices using TSN. TheSDN devices separate the network control plane from the data plane inthe network communication devices. This can allow for the networkcommunication devices to be more efficient, compact, and programmable.

FIGS. 1 through 4 illustrate several examples of powered systems 100,200, 300, 400 having control systems that use one or more embodiments ofsubject matter described herein. The powered system 100 shown in FIG. 1is a locomotive, which has a control system that controls operations(e.g., movement and other actions) of the locomotive based on dataobtained by, generated by, and/or communicated among devices of thelocomotive and/or off-board the locomotive. The powered system 200 shownin FIG. 2 is an automobile, which has a control system 202 that controlsoperations (e.g., driver warnings, automated movement, or other actions)of the automobile based on data obtained by, generated by, and/orcommunicated among devices of the automobile and/or off-board theautomobile. The powered system 300 shown in FIG. 3 is a medical device,such as a magnetic resonance imaging (MM) device. Alternatively, thepowered system 300 may represent several medical devices, such asmedical equipment within a surgical suite, emergency room, hospital, orthe like. The powered system 300 may include a control system 302 thatcontrols operations of the medical equipment or devices, communicatesinformation between or among the medical equipment or devices, etc., toallow for automated control of the equipment or devices, to provideinformation to operators of the equipment or devices, etc. The poweredsystem 400 shown in FIG. 4 is a hydraulic power plant, which has acontrol system that controls operations of the plant based on dataobtained by, generated by, and/or communicated among devices of theplant.

FIG. 5 illustrates one embodiment of a communication system 500. Thecommunication system 500 may be used by a control system 518 (“Control”in FIG. 5 ) to communicate data between or among devices of the controlsystem 518 and/or the powered system that is controlled by the controlsystem 518. The control system 518 may represent one or more of thecontrol systems 100, 200, 300, 400 shown in FIGS. 1 through 4 . Thecontrol system 518 shown in FIG. 5 represents hardware circuitry thatincludes and/or is connected with one or more processors (e.g.,microprocessors, integrated circuits, field programmable gate arrays,etc.) that perform operations to control the powered system(s).

The communication system 500 communicates data between several devices,such as sensors 502, 504 that monitor, measure, record, etc. informationand communicate this information as sensor data 506. Another device thatcan communicate via the communication system 500 can include a humanmachine interface (HMI) or user interface (UI) (shown as “HMI/UI” inFIG. 5 ) 508 that receives output or status data 510 that is to bepresented to a user or operator of the communication system 500 orcontrol system 518 and that can communicate input data 512 received fromthe user or operator to one or more other devices of the control system.The HMI/UI 508 can represent a display device, touchscreen, laptop,tablet computer, mobile phone, speaker, haptic device, or other devicethat communicates or conveys information to a user or operator.

In one embodiment, at least one of the sensors 502, 504 may be a camerathat generates video or image data, an x-ray detector, an acousticpick-up device, a tachometer, a global positioning system receiver, awireless device that transmits a wireless signal and detects reflectionsof the wireless signal in order to generate image data representative ofbodies or objects behind walls, sides of cars, or other opaque bodies,or another device.

Another device that can communicate using the communication system 500includes one or more actuators 514, which represent devices, equipment,or machinery that move to perform one or more operations of the poweredsystem that is controlled by the control system 518. Examples ofactuators 514 include brakes, throttles, robotic devices, medicalimaging devices, lights, turbines, etc. The actuators 514 cancommunicate status data 516 of the actuators 514 to one or more otherdevices in the powered system via the communication system 500. Thestatus data 516 represent a position, state, health, or the like, of theactuator 514 sending the status data 516. The actuators 514 can receivecommand data 520 from one or more other devices of the powered system orcontrol system via the communication system 500. The command data 520represents instructions that direct the actuators 514 how and/or when tomove, operate, etc.

The control system 518 can communicate (e.g., receive, transmit, and/orbroadcast) a variety of data between or among the devices via thecommunication system 500. For example, the control system 518 cancommunicate the command data 520 to one or more of the devices and/orreceive data 522, such as status data 516 and/or sensor data 506, fromone or more of the devices. While devices are shown in FIG. 5 as sendingcertain data or receiving certain data, optionally, the devices may sendand/or receive other types of data. For example, the sensors 502, 504may receive data and/or send other types of data.

The communication system 500 communicates data between or among thedevices and/or control system 518 using a communication network 526 thatcommunicates data using a data distribution service 524. The network 526is shown in FIG. 5 as a time sensitive network, but alternatively may beanother type of network. The data distribution service 524 represents anobject management group (OMG) device-to-device middleware communicationstandard between the devices and the network. The data distributionservice 524 allows for communication between publishers and subscribers.The term publisher refers to devices 502, 504, 508, 514, 518 that senddata to other devices 502, 504, 508, 514, 518 and the term subscriberrefers to devices 502, 504, 508, 514, 518 that receive data from otherdevices 502, 504, 508, 514, 518. The data distribution service 524 isnetwork agnostic in that the data distribution service 524 can operateon a variety of networks, such as Ethernet networks as one example. Thedata distribution service 524 operates between the network through whichdata is communicated and the applications communicating the data (e.g.,the devices 502, 504, 508, 514, 518). The devices 502, 504, 508, 514,518 can publish and subscribe to data over a distributed area to permita wide variety of information to be shared among the devices 502, 504,508, 514, 518.

In one embodiment, the data distribution service 524 is used by thedevices 502, 504, 508, 514, 518 to communicate data 506, 510, 512, 516,520, 522 through the network 526, which may operate on an Ethernetnetwork of the powered system. The network 526 may be at least partiallydefined by a set of standards developed by the Time-Sensitive NetworkingTask Group, and includes one or more of the IEEE 802.1 standards. Whilean Ethernet network may operate without TSN, such a network maycommunicate data frames or packets in a random or pseudo-random mannerthat does not ensure that the data is communicated within designatedtime periods or at designated times. As a result, some data may notreach devices connected via the non-TSN Ethernet network in sufficienttime for the devices to operate using the data. With respect to somecontrol systems, the late arrival of data can have disastrousconsequences, as described above. A TSN-based Ethernet network, however,can dictate when certain data communications occur to ensure thatcertain data frames or packets are communicated within designated timeperiods or at designated times. Data transmissions within a TSN-basedEthernet network can be based on a global time or time scale of thenetwork that is the same for the devices in or connected with thenetwork, with the times or time slots in which the devices communicatebeing scheduled for at least some of the devices.

The communication system 500 may use the network 526 to communicate databetween or among the devices 502, 504, 508, 514, 518 using the datadistribution service 524 in order to maintain QoS parameters 528 ofcertain devices 502, 504, 508, 514, 518. The QoS parameters 528 of thedevices 502, 504, 508, 514, 518 represent requirements for datacommunication between or among the devices 502, 504, 508, 514, 518, suchas upper limits on the amount of time or delay for communicating databetween or among the devices 502, 504, 508, 514, 518. The QoS parameters528 are determined for the data distribution service 524 and mapped(e.g., applied, or used to dictate how and/or when data is communicated,as described herein) to the network 526 in one embodiment.

A QoS parameter 528 can dictate a lower limit or minimum on datathroughput in communication between or among two or more devices 502,504, 508, 514, 518. A QoS parameter 528 can be used to ensure that datacommunicated with one or more devices 502, 504, 508, 514, 518, to one ormore devices 502, 504, 508, 514, 518, and/or between two or more devices502, 504, 508, 514, 518 is received in a timely manner (e.g., atdesignated times or within designated time periods).

The devices 502, 504, 508, 514, 518 can communicate the data (e.g.,publish and/or subscribe to the data) according to the schedulesdictated by the control system 518 in order to achieve or maintain theQoS parameters 528 of the devices 502, 504, 508, 514, 518. Other dataand/or other devices may communicate with or among each other using thesame network, but without a designated schedule and/or without beingsubject to QoS parameters 528. For example, the sensor 502, actuator514, and control system 518 may have QoS parameters 528 and the controlsystem 518 can dictate schedules for when the sensor 502, actuator 514,and control system 518 publish and/or receive data via the network 526.

The network 526 can be an Ethernet based network that communicatesdifferent categories or groups or types of data according to differentpriorities. For example, the network 526 can communicate time sensitivedata according to the schedule or schedules determined by the controlsystem 518 in order to achieve or maintain the QoS parameters 528 ofcertain devices 502, 504, 508, 514, 518. The network 526 can communicateother data between or among the same or other devices 502, 504, 508,514, 518 as “best effort” traffic or rate constrained traffic. Besteffort traffic includes the communication of data between or among atleast some of the devices 502, 504, 508, 514, 518 that is not subject toor required to meet the QoS parameters 528 of the devices 502, 504, 508,514, 518. This data may be communicated at a higher priority than thedata communicated in rate constrained traffic, but at a lower prioritythan the data communicated according to the schedules dictated by thecontrol system 518 in order to meet or achieve the QoS parameters 528(also referred to herein as time sensitive traffic). The rateconstrained traffic can include data that is communicated between oramong the devices 502, 504, 508, 514, 518, but that is communicated at alower priority than the time sensitive data and the best effort traffic.The time sensitive data, the best effort traffic, and the rateconstrained traffic are communicated within or through the same network526, but with different priorities. The time sensitive data iscommunicated at designated times or within designated time periods,while the best effort traffic and rate constrained traffic is attemptedto be communicated in a timely manner, but that may be delayed in orderto ensure that the time sensitive data is communicated to achieve ormaintain the QoS parameters 528.

FIG. 6 illustrates another embodiment of a communication system 600. Thecommunication system 600 can represent one embodiment of thecommunication system 500 shown in FIG. 5 . The components of thecommunication system 600 represent different or separate hardwarecircuitry that include and/or are connected with one or more processors(e.g., microprocessors, integrated circuits, field programmable gatearrays, etc.) that perform the operations described herein in connectionwith the various components.

The communication system 600 may be composed of several operational orfunctional layers 602, 604, 606, 608. The layers 602, 604 represent thedata distribution service 524 and the layers 606, 608 represent the timesensitive network 526 shown in FIG. 5 . The layer 602 is an applicationlayer that dictates the protocols and methods of communication used byhosts in the communication system 600. A writer or writing device 610and a reader or reading device 612 are within the application layer 602of the data distribution service 524 shown in FIG. 5 . The writer 610 isa communication device that publishes information or data forcommunication to or among end devices 614, 616 of the control system518. The end devices 614, 616 can represent one or more actuators, userinterfaces, sensors, or other devices, such as one or more of thesensors 502, 504, HMI/UI 508, and/or actuator 514 shown in FIG. 5 . Thereader 612 receives or obtains this information or data provided by thewriter 610 and provides the information or data to the end devices 614,616. While only a single writer 610, a single reader 612, and two enddevices 614, 616 are shown in FIG. 6 , the communication system 600 mayinclude many more writers 610, readers 612, and/or end devices 614, 616.

The layer 604 is a transport layer within the time sensitive network 526shown in FIG. 5 that provides communication services between devices inthe communication system 600, such as data stream support, control overthe flow of data in the communication system 600, etc. The transportlayer 604 includes a scheduling device or scheduler 618 that determineswhen various communications between devices within the system 600 occur,as described in more detail below.

The layer 606 is a network layer that routes data and informationthrough networked devices, such as routers, switches (e.g., Ethernetswitches), or other devices that communicate data packets betweendifferent devices in the communication system 600. A traffic shapingdevice or traffic shaper 620 controls the traffic profile of data beingcommunicated within the communication system 600. This can includecontrolling the amount or volume of data being communicated within thetime sensitive network 526 within a designated time period, such as bydelaying the communication of some data packets while communicatingother data packets at various times.

Also disposed in the network layer 606 are a talker device 622 and alistening device or listener 624. The talker 622 and listener 624 arethe devices within the time sensitive network 526 that establish acommunication link (also referred to as a virtual link) through whichdata or information is communicated between the writer 610 and thereader 612.

For example, the talker 622 can send an advertise signal 626 to thelistener 624 that requests that a communication link be establishedbetween the talker 622 and the listener 624. If there are sufficientresources for communicating data from the talker 622 to the listener 624(e.g., sufficient bandwidth, available routers and/or switches, etc.),then the communication link between the talker 622 and the listener 624is created. Otherwise, the communication link is not established.

Data or information that is published by the writer 610 is provided tothe talker 622, which communicates the data or information through thetime sensitive network 526 to the listener 624. The listener 624 thencommunicates this data or information to the reader 612. The end devices614, 616 may be communicatively coupled with the writer 610 and reader612. For example, the device 614 may provide data (e.g., sensor data) tothe writer 610, which publishes or otherwise communicates the data tothe talker 622 as published data 628. The talker 622 communicates thispublished data 628 to the listener 624. The talker 622 communicates thedata through one or more networked devices in the time sensitive network526, such as routers and/or Ethernet switches. The listener 624 receivesthe data and communicates the data to the reader 612 as received data632. The reader 612 can then communicate the received data to the device616, such as the HMI/UI 508, the control system 518, and/or the actuator514.

In one embodiment of the inventive subject matter described herein,components within the data distribution service 524 and/or otherwiseoutside of the time sensitive network 526 communicate with components inthe time sensitive network 526 to direct changes in how data iscommunicated within the time sensitive network 526, while ensuring thatthe time sensitive data communications arrive in time or withindesignated times and/or that rate constrained traffic and best efforttraffic does not interfere with or prevent the timely delivery of thetime sensitive data.

The control system 518 communicates a communication change 630 to thetraffic shaper 620 in the time sensitive network 526. This change 630can include a new or different QoS parameter 528. As described above,the QoS parameter 528 can dictate a lower limit or minimum on datathroughput in communication between or among two or more devices 614,616. The control system 518 may change the QoS parameter 528 forcommunications to and/or from one or more devices 614, 616 based onchanging circumstances. For example, the control system 518 may requirethat data from a sensor 502 is obtained and/or communicated to an HMI/UI508 more often after a fault condition with one or more components of apowered system is identified. The QoS parameter 528 can be used toensure that data communicated with one or more devices 614, 616, to oneor more devices 614, 616, and/or between two or more devices 614, 616are received in a timely manner (e.g., at designated times or withindesignated time periods). As another example, the control system 518 maychange a type of communication, such as by changing a rate constrainedor best effort communication to a time sensitive communication, oranother such change.

Optionally, responsive to user input received by the control system 518via the HMI/UI 508 directing a change in operational modes or states ofthe powered system being controlled by the control system 518, thecontrol system 518 may change the QoS parameter 528 for communicationwith or between different devices 614, 616. Alternatively, the controlsystem 518 may direct other changes 630 to communications. For example,a new device 614, 616, new talker 622, and/or new listener 624 may beadded to the time sensitive network 526. As another example, the controlsystem 518 may direct that new or different information is communicatedto and/or from one or more devices 614, 616, and/or may change wheninformation is communicated with and/or between the devices 614, 616.

Responsive to receiving the change 630 from the control system 518, thetraffic shaper 620 and the scheduler 618 communicate with each other todetermine how to shape and schedule the communications within or throughthe time sensitive network 526, including those communications involvingor impacted by the change 630. The scheduler 618 may be responsible todictating when time sensitive communications occur in order to ensurethat there is sufficient bandwidth to successfully communicate the datain the time sensitive communications at or within the time limitsassociated with the time sensitive communications. The total bandwidthavailable for communicating data within the time sensitive network 526may be known based on the currently available network devices such asrouters and switches in the time sensitive network 526. Based on theavailable bandwidth, the amount of bandwidth consumed by the timesensitive communications (which may be reported to the scheduler 618from the control system 518, the writers 610, and/or other devices), andthe times or time limits in which the time sensitive communicationsoccur, the scheduler 618 may determine what bandwidth is available, andwhen the bandwidth is available.

For example, during a first time period, 20% of the total bandwidth ofthe time sensitive network 526 may be available for rate constraineddata traffic and/or best effort traffic because the other 80% is used bytime sensitive communications. During a different, second time period,95% of the total bandwidth of the time sensitive network 526 may beavailable for rate constrained data traffic and/or best effort trafficbecause the other 5% is used by time sensitive communications. Othertime periods may have other, different amounts of bandwidth availablefor communicating non-time sensitive traffic.

The scheduler 618 and the traffic shaper 620 communicate with each otherto determine what communication schedules are feasible to achieve thechanges 630 in communications requested or directed by the controlsystem 518. As one example, the scheduler 618 and the traffic shaper 620communicate with each other to determine what communication schedulesare feasible to achieve the QoS parameter(s) 528 received from thecontrol system 518. The scheduler 618 can determine feasible schedulesfor the non-time sensitive communications to occur within the timesensitive network 526. Based on the amount of available bandwidth andthe times at which the different amounts of bandwidth are available, thescheduler 618 can notify the traffic shaper 620 how much data can becommunicated within the time sensitive network 526 and when the data canbe communicated. The scheduler 618 may reserve sufficient bandwidth atdesignated times so that there is sufficient bandwidth to ensure thatthe time sensitive communications successfully occur or reach theintended recipients (e.g., the readers 612) no later than the designatedtimes or within the designated time limits of the time sensitivecommunications. At least some of the remaining bandwidth may be usableby the non-time sensitive communications. The scheduler 618 maycommunicate a needed network availability 634 to the traffic shaper 620.The network availability 634 indicates how much bandwidth is availablefor non-time sensitive communications at different times.

Based on receipt of the network availability 634, the traffic shaper 620can determine when different data packets or frames of the non-timesensitive communications can occur. This can involve the traffic shaper620 delaying communication of one or more groups of packets, frames, ordatagrams to bring the communication of the groups into a trafficprofile. The writers 610 and the readers 612 communicating non-timesensitive communications may then be restricted to communicating thedata packets, frames, or datagrams at the times restricted by thetraffic profile. This ensures that the time sensitive communicationshave sufficient bandwidth to be communicated in a timely manner withinthe time sensitive network 526, while also allowing for the rateconstrained and/or best effort traffic to be communicated within thenetwork 526, without interfering with the time sensitive communications.This communication can be ensured even in light of changes 630 createdby the control system 518 while the writers 610 and readers 612 continueto communicate within the time sensitive network 526. For example,changes to the QoS parameters, time sensitive communications, etc., mayoccur without having to shut down or otherwise restart the devices orcomponents in the time sensitive network 526.

FIG. 7 schematically illustrates one example of a traffic profile 700that is determined by the traffic shaper 620 shown in FIG. 6 for thecommunication of non-time sensitive communications within the timesensitive network 526 shown in FIG. 5 . The traffic profile 700 is shownalongside a horizontal axis 702 representative of time and a verticalaxis 704 representative of amounts of bandwidth available forcommunication in the time sensitive network 526. Several bandwidthlimits 706, 708, 710, 712, 714, 176 are shown as rectangles in FIG. 7 .These limits 706, 708, 710, 712, 714, 176 represent the upperrestrictions on the amount of bandwidth, or the net bit rate, channelcapacity, or throughput, of data communications in the time sensitivenetwork 526. The vertical height of the bandwidth limits 706, 708, 710,712, 714, 176 indicate the upper limits on the rates at which data canbe communicated, while the horizontal widths of the bandwidth limits706, 708, 710, 712, 714, 176 indicate the time period over which therespective bandwidth limits 706, 708, 710, 712, 714, 176 are applicable.

The bandwidth limits 706, 708, 710, 712, 714, 176 for a specific routeor path through the network change over time. These limits for each, orat least one or more, route or path change in order to ensure that thereis sufficient bandwidth for communicating the time sensitivecommunications. The limits 708, 714 may be lower (e.g., representreduced bandwidths available for communication of non-time sensitivecommunications) than the limits 706, 710, 712, 716 because morebandwidth is needed during time periods over which the limits 708, 714extend for the communication of time sensitive communications thanduring the time periods over which the limits 706, 710, 712, 716 extend.The traffic profile 700 can represent the amount of bandwidth used bythe communication of non-time sensitive communications. For example, thetraffic shaper 620 can restrict (or only permit) the communication ofrate constrained traffic and best effort traffic within the bandwidthsrepresented by the traffic profile 700 at the associated times. Thetraffic profile 700 is provided merely as one example.

As the control system 518 (shown in FIG. 5 ) issues changes 630 (shownin FIG. 6 ) to the traffic shaper 620, the traffic shaper 620 may referto the network availabilities 634 provided by the scheduler 618 todetermine new or different traffic profiles 700 that may be used tocontinue communicating the non-time sensitive communications withoutinterfering with or restricting the communication of the time sensitivecommunications. The traffic profile 700 may be adjusted without shuttingdown or restarting the time sensitive network 526, thereby providing adynamically adjustable time sensitive network 526. Restarting a networkcan involve stopping all communications through or within the networkfor a non-instantaneous time while the devices in the network adjust tonew or different settings.

FIG. 8 illustrates a flowchart of one embodiment of a method 800 fordynamically integrating a data distribution service into a timesensitive network. The method 800 may be performed by one or moreembodiments of the communication systems described herein. In oneembodiment, the method 800 represents software operating on and/ordirecting operations of the communication systems described herein. Forexample, the control systems, schedulers, traffic shapers, writers,readers, talkers, listeners, and/or devices described herein may performthe operations of the method 800. Optionally, the method 800 may be usedto create such software.

At 802, a bandwidth needed for communication of time sensitivecommunications of a control system using a data distribution system in atime sensitive network may be determined. The control system may informthe scheduler of the data distribution system of the time sensitivecommunications that are needed or requested, and the scheduler candetermine how much bandwidth is needed for the time sensitivecommunications at different times to ensure that the communicationssuccessfully occur between the writers and the readers. For example, thecontrol system may inform the scheduler of the data sizes of the timesensitive communications and the times or time periods in which thesecommunications are to occur.

At 804, an available bandwidth for communication of non-time sensitivecommunications of the data distribution service in the time sensitivenetwork is determined. The traffic shaper can examine the bandwidth thatis not reserved or scheduled to be used by the time sensitivecommunications by the scheduler. This remaining amount of bandwidth maybe used for the communication of rate constrained communications and/orbest effort communications between the writers and the readers of thedata distribution service.

At 806, a permissible traffic profile for the communication of thenon-time sensitive communications is determined. The traffic shaper candetermine this profile as representative of how much non-time sensitivedata can be communicated at different times, based on the availablebandwidth for non-time sensitive communications that are available atdifferent times. At 808, the time sensitive communications and non-timesensitive communications of the data distribution service arecommunicated in the time sensitive network. The time sensitivecommunications may be communicated along or via communication or virtuallinks between some writers and readers using sufficient bandwidth toensure that the time sensitive communications occur no later thandesignated times or within designated time periods. The non-timesensitive communications may be communicated along or via communicationor virtual links between the same and/or different writers and readers,but according to the traffic profile determined by the traffic shaper.

At 810, a determination is made as to whether any changes to thecommunication of data of the data distribution service in the timesensitive network is requested or directed (e.g., by the controlsystem). The change may be a new or different QoS parameter ofcommunications, a new or different reader or writer in the datadistribution service, a change in a communication between a writer andone or more readers from a time sensitive communication to a non-timesensitive communication, a change in a communication between a writerand one or more readers from a non-time sensitive communication to atime sensitive communication, a change in what information iscommunicated between writers and readers, or another change. Asdescribed above, the change(s) may be requested or directed by thecontrol system.

If a change in communication is requested or directed by the controlsystem, then flow of the method 800 can return toward 802. For example,the method 800 can again determine what bandwidth is needed for thecommunication of time sensitive communications, what bandwidth isavailable for the communication of non-time sensitive communications,and the traffic profile for use in communicating the non-time sensitivecommunications subject to the communication changes. If a change is notrequested or directed, then flow of the method 800 can return to 808 sothat the time sensitive communications and non-time sensitivecommunications occur without changes to the time sensitive network.

FIG. 9 illustrates a distributed network communication device 900according to one embodiment. The device 900 can represent one or more ofthe devices that communicate data within the time sensitive network 526.For example, the device 900 can operate similar to a router by receivingdata packets addressed to different locations and then forwarding thepackets to other devices 900 or the addressed locations so that the datapackets arrive at the addressed locations.

In contrast to known routers, however, the device 900 includes acontroller 902 and routing hardware 904 that are separate from eachother. The controller 902 and hardware 904 may be in separate, remotelocations. For example, the hardware 904 may be disposed in one housingin a server room or rack, while the controller 902 is disposed in aseparate, different housing in another room, building, city, county, orstate. The controller 902 represents hardware circuitry that includesand/or is connected with one or more processors (e.g., microprocessors,integrated circuits, or field programmable gate arrays) that control howthe routing hardware 904 communicates data in the time sensitive network526 (or another network). The hardware circuitry of the controller 902can include transceiving circuitry or transmitting circuitry, such asone or more modems, antennas, or the like, to permit the controller 902to communicate with the routing hardware 904 from far away.

The controller 902 may include the control plane of the device 900,which determines where different data packets are to be forwardedtoward. For example, the controller 902 include or access a memorydevice (e.g., a computer hard drive, random access memory, flash drive,etc.) that stores one or more routing tables. These tables can indicatewhere incoming data packets are to be forwarded. For example, the tablescan indicate the paths or routes in the time sensitive network 526 thatdifferent data packets should be forwarded between the routing hardware904 of the devices 900 in order to move the data packets from thewriters 610 to the appropriate readers 612.

As described above, the control system 518 can control and/or change 630communications within the time sensitive network 526. The controllers902 of the devices 900 in the network 526 can respond to the changes 630by changing the routing tables or other information used by thecontrollers 902 to determine where the different devices 900 are toroute the different data packets toward in order to ensure that the timesensitive communications and non-time sensitive communications arecompleted, as described herein. As shown in FIG. 6 , the control system518 may communicate routing information 636 to the writers 610 thatindicates where the published data 628 of the writers 610 are to berouted toward. This routing information 636 may be used by thecontrollers 902 of the devices 900 to determine how to route the datapackets accordingly.

The routing hardware 904 represents a forwarding plane of the device900. The hardware 904 includes circuitry that has network interfaces toallow for the communication of data packets through the routing hardware904. The hardware 904 also includes transceiving and/or receivingcircuitry, such as one or more modems, antennas, or the like, to permitthe hardware 904 to communicate with the controller 902.

In operation, the control system 518 communicates the routinginformation 636 to the controllers 902 of the devices 900 to inform thecontrollers 902 where various data packets are to be communicated towardor to within the time sensitive network 526 for the time sensitive andnon-time sensitive communications described herein. Responsive toreceiving the routing information 636, the controllers 902 sendinstructions 906 to the routing hardware 904 of the correspondingdevices 900 to instruct the routing hardware 904 how to forward the datapackets to achieve the routing information 636 received from the controlsystem 518. The routing hardware 904 receives a variety of differentdata packets 908, 910, 912 from other devices 900, routers 914, and thelike.

The routing hardware 904 forwards these packets 908, 910, 912 to otherdevices 900, routers 914, and the like, according to the instructions906 in order to cause the data packets 908, 910, 912 to travel along thepaths dictated by the routing information 636. The packets 908, 910, 912eventually reach the addressed destinations (e.g., readers 612) in orderto complete the time sensitive and/or non-time sensitive communicationsdescribed herein. The control system 518 may dynamically change therouting information 636 in order to vary where different data packetsare forwarded by the hardware 904 without shutting down or restartingthe devices 900.

In one embodiment, a network calculus engine may work with the scheduler618 (or the scheduler 618 may use network calculus) to determine how toset network traffic latency requirements for each, or at least one ormore, path or route through the network. If the scheduler 618 cannotdetermine a feasible schedule, network calculus can be used to providefeedback to an operator of the network about why a schedule could not befound. For example, the network calculus engine could suggest to theoperator which virtual links would benefit most or more than others fromeasing traffic load or increasing maximum (or another upper limit on)latency. The network calculus engine can provide a filter beforescheduling is run to suggest whether a result would even be feasible.This could be beneficial for large complex networks for which schedulingwithout the filter would be a significant time-consuming process. Thenetwork calculus engine can provide results about queuing throughout thenetwork in case buffer storage becomes an issue.

In one embodiment, a method includes determining bandwidth forcommunication of time sensitive communications between devices of acontrol system using a DDS in a TSN, determining available bandwidth forcommunication of non-time sensitive communications of the control systemusing the DDS in the TSN, communicating the non-time sensitivecommunications in the TSN without preventing communication of the timesensitive communications in the TSN based on the available bandwidth,receiving a communication change from the control system at the TSN, andchanging one or more of the bandwidth for the communication of the timesensitive communications or the available bandwidth for thecommunication of the non-time sensitive communications in the TSNwithout restarting the TSN.

In one example, the time sensitive communications include communicationsrequired to be completed before designated times or within designatedtime periods by the control system.

In one example, the communication change from the control system directsa change in a quality of service (QoS) of communications in the TSN.

In one example, the communication change from the control system directsa change in one or more of the non-time sensitive communications to oneof the time sensitive communications.

In one example, the communication change from the control system directsa change in one or more of the time sensitive communications to one ofthe non-time sensitive communications.

In one example, the communication change from the control system directsan addition of a network device to the TSN.

In one example, the communication change from the control system directsremoval of a network device from the TSN.

In one example, the communication change from the control systeminstructs a distributed communication device having a controller androuting hardware that are separate and remotely located from each otherto change where one or more data packets are forwarded in the TSN.

In one example, the method also includes communicating routinginformation from the control system to the controller of the distributedcommunication device that directs a change in where the one or more datapackets are forwarded in the TSN responsive to receiving thecommunication change from the control system. The method also caninclude sending one or more instructions from the controller to therouting hardware to instruct the routing hardware where to forward theone or more data packets according to the routing information.

In one embodiment, a system includes a scheduling device of a DDSconfigured to determine bandwidth for communication of time sensitivecommunications between devices of a control system using the DDS in aTSN. The scheduling device also is configured to determine availablebandwidth for communication of non-time sensitive communications of thecontrol system using the DDS in the TSN, and is configured to controlcommunication of the non-time sensitive communications in the TSNwithout preventing communication of the time sensitive communications inthe TSN based on the available bandwidth. The system also can include atraffic shaper of the TSN configured to receive a communication changefrom the control system at the TSN. The scheduling device is configuredto change one or more of the bandwidth for the communication of the timesensitive communications or the available bandwidth for thecommunication of the non-time sensitive communications in the TSNwithout restarting the TSN.

In one example, the time sensitive communications include communicationsrequired to be completed before designated times or within designatedtime periods by the control system.

In one example, the communication change from the control system directsa change in a quality of service (QoS) of communications in the TSN.

In one example, the communication change from the control system directsa change in one or more of the non-time sensitive communications to oneof the time sensitive communications.

In one example, the communication change from the control system directsa change in one or more of the time sensitive communications to one ofthe non-time sensitive communications.

In one example, the communication change from the control system directsan addition of a network device to the TSN.

In one example, the communication change from the control system directsremoval of a network device from the TSN.

In one example, the system also includes one or more distributedcommunication devices each having a controller and routing hardware thatare separate and remotely located from each other. The controllers canbe configured to instruct the routing hardware of the respectivedistributed communication devices where to forward data packets with inthe TSN.

In one example, the communication change from the control system directsa change in where one or more of the data packets are forwarded by therouting hardware in the TSN.

In one embodiment, a distributed communication device includes acontroller configured to one or more of store or access routinginstructions that direct where data packets are to be forwarded within aTSN for one or more writing devices and one or more reader devices of aDDS. The device also can include routing hardware configured to beremotely located from the controller and to receive instructions fromthe controller to change where the data packets are forwarded within theTSN.

In one example, the routing hardware is configured to receive theinstructions from the controller to change where the data packets areforwarded within the TSN and to change how the data packets areforwarded with in the TSN without restarting either the controller orthe routing hardware.

It is to be understood that the above description is intended to beillustrative, and not restrictive. For example, the above-describedembodiments (and/or examples thereof) may be used in combination witheach other. In addition, many modifications may be made to adapt aparticular situation or material to the teachings of the inventivesubject matter without departing from its scope. While the dimensionsand types of materials described herein are intended to define theparameters of the inventive subject matter, they are by no meanslimiting and are exemplary embodiments. Many other embodiments will beapparent to one of ordinary skill in the art upon reviewing the abovedescription. The scope of the inventive subject matter should,therefore, be determined with reference to the appended claims, alongwith the full scope of equivalents to which such claims are entitled. Inthe appended claims, the terms “including” and “in which” are used asthe plain-English equivalents of the respective terms “comprising” and“wherein.” Moreover, in the following claims, the terms “first,”“second,” and “third,” etc. are used merely as labels, and are notintended to impose numerical requirements on their objects. Further, thelimitations of the following claims are not written inmeans-plus-function format and are not intended to be interpreted basedon 35 U.S.C. § 112(f), unless and until such claim limitations expresslyuse the phrase “means for” followed by a statement of function void offurther structure.

This written description uses examples to disclose several embodimentsof the inventive subject matter and also to enable a person of ordinaryskill in the art to practice the embodiments of the inventive subjectmatter, including making and using any devices or systems and performingany incorporated methods. The patentable scope of the inventive subjectmatter is defined by the claims, and may include other examples thatoccur to those of ordinary skill in the art. Such other examples areintended to be within the scope of the claims if they have structuralelements that do not differ from the literal language of the claims, orif they include equivalent structural elements with insubstantialdifferences from the literal languages of the claims.

The foregoing description of certain embodiments of the inventivesubject matter will be better understood when read in conjunction withthe appended drawings. To the extent that the figures illustratediagrams of the functional blocks of various embodiments, the functionalblocks are not necessarily indicative of the division between hardwarecircuitry. Thus, for example, one or more of the functional blocks (forexample, processors or memories) may be implemented in a single piece ofhardware (for example, a general purpose signal processor,microcontroller, random access memory, hard disk, and the like).Similarly, the programs may be stand-alone programs, may be incorporatedas subroutines in an operating system, may be functions in an installedsoftware package, and the like. The various embodiments are not limitedto the arrangements and instrumentality shown in the drawings.

As used herein, an element or step recited in the singular and proceededwith the word “a” or “an” should be understood as not excluding pluralof said elements or steps, unless such exclusion is explicitly stated.Furthermore, references to “one embodiment” of the inventive subjectmatter are not intended to be interpreted as excluding the existence ofadditional embodiments that also incorporate the recited features.Moreover, unless explicitly stated to the contrary, embodiments“comprising,” “including,” or “having” an element or a plurality ofelements having a particular property may include additional suchelements not having that property.

What is claimed is:
 1. A method in a communication network, comprising:determining a transmission schedule for a plurality of data sources, thetransmission schedule configured to meet communication requirements ofboth time-sensitive traffic and non-time-sensitive traffic of theplurality of data sources; transmitting data according to thetransmission schedule by shaping the time-sensitive traffic and thenon-time-sensitive traffic at the plurality of data sources according tothe transmission schedule; receiving a communication change command;determining a new transmission schedule for the plurality of datasources, the new transmission schedule configured to meet thecommunication requirements of both the time-sensitive traffic and thenon-time-sensitive traffic in accordance with the communication changecommand without restarting any device of the communication network; andtransmitting data according to the new transmission schedule.
 2. Themethod of claim 1, wherein the communication network is IEEE 802.1time-sensitive network coupling the plurality of data sources tolisteners.
 3. The method of claim 1, wherein the communication networkcarries messages of a control system.
 4. The method of claim 3, whereinthe plurality of data sources and listeners in the control systemcommunicate with a data distribution service.
 5. The method of claim 1,wherein the communication change command comprises one or more of achange in: priority or QoS of one or more of the time-sensitive trafficor the non-time-sensitive traffic; one or more of a source or path ordestination of one or more of the time-sensitive traffic or thenon-time-sensitive traffic; one or more of addition or deletion oftime-sensitive traffic or non-time-sensitive traffic; or one or more ofaddition or removal of one or more data sources or data listeners. 6.The method of claim 1, wherein the communication requirements compriseone or more of a bandwidth requirement or a latency requirement.
 7. Themethod of claim 1, where in the transmission schedule includes acommunication schedule for a time-sensitive network and a bandwidthprofile for a non-time-sensitive network.
 8. The method of claim 1,wherein the communication change command instructs a distributedcommunication device having a controller and routing hardware that areseparate and remotely located from each other to change where one ormore data packets are forwarded in the communication network.
 9. Themethod of claim 8, further comprising: communicating routing informationto the controller of the distributed communication device that directs achange in where the one or more data packets are forwarded in thecommunication network responsive to receiving the communication changecommand; and sending one or more instructions from the controller to therouting hardware to instruct the routing hardware where to forward theone or more data packets according to the routing information.
 10. Themethod of claim 9, further comprising: responsive to the communicationchange command, changing a routing table that is used to determine wheredifferent devices are to route data packets of the time-sensitivetraffic and the non-time-sensitive traffic to ensure that thetime-sensitive traffic and the non-time-sensitive traffic are completedwithout restarting any devices of the communication network.
 11. Asystem, comprising: a plurality of data sources; a communication networkconfigured to communicate data between the plurality of data sources,determine a transmission schedule for the plurality of data sources, thetransmission schedule configured to meet communication requirements ofboth time-sensitive traffic and non-time-sensitive traffic of theplurality of data sources, and transmit data according to thetransmission schedule by shaping the time-sensitive traffic and thenon-time-sensitive traffic at the plurality of data sources according tothe transmission schedule; and a control system configured to issue acommunication change command, wherein the communication network,responsive to the communication change command determines a newtransmission schedule, the new transmission schedule configured to meetthe communication requirements of both the time-sensitive traffic andthe non-time-sensitive traffic without restarting any device of thecommunication network, and transmits data according to the newtransmission schedule.
 12. The system of claim 11, wherein thecommunication network is IEEE 802.1 time-sensitive network coupling theplurality of data sources to listeners.
 13. The system of claim 11,wherein the communication network carries messages of the controlsystem.
 14. The system of claim 12, wherein the data sources andlisteners in the control system communicate with a data distributionservice.
 15. The system of claim 11, wherein the communication changecommand comprises one or more of a change in: priority or QoS of one ormore of the time-sensitive traffic or the non-time-sensitive traffic;one or more of a source or path or destination of one or more of thetime-sensitive traffic or the non-time-sensitive traffic; one or more ofaddition or deletion of time-sensitive traffic or non-time-sensitivetraffic; or one or more of addition or removal of one or more datasources or data listeners.
 16. The system of claim 11, wherein thecommunication requirements comprise one or more of a bandwidthrequirement or a latency requirement.
 17. The system of claim 11, wherein the transmission schedule includes a communication schedule for atime-sensitive network and a bandwidth profile for a non-time-sensitivenetwork.
 18. The system of claim 11, wherein the communication changecommand instructs a distributed communication device having a controllerand routing hardware that are separate and remotely located from eachother to change where one or more data packets are forwarded in thecommunication network.
 19. The system of claim 18, wherein the controlsystem is further configured to: communicate routing information to thecontroller of the distributed communication device that directs a changein where the one or more data packets are forwarded in the communicationnetwork responsive to receiving the communication change command; andsend one or more instructions from the controller to the routinghardware to instruct the routing hardware where to forward the one ormore data packets according to the routing information.
 20. The systemof claim 19, wherein the controller, responsive to the communicationchange command, changes a routing table that is used to determine wheredifferent devices are to route data packets of the time-sensitivetraffic and the non-time-sensitive traffic to ensure that thetime-sensitive traffic and the non-time-sensitive traffic are completedwithout restarting any devices of the communication network.
 21. Adistributed communication device, comprising: a controller configured toone or more of store or access routing instructions that direct wheredata packets are to be forwarded within a time-sensitive network for oneor more writing devices and one or more reader devices of a datadistribution service; and routing hardware configured to be remotelylocated from the controller and to receive instructions from thecontroller to change where the data packets are forwarded within thetime-sensitive network without restarting any device of thetime-sensitive network.
 22. The distributed communication device ofclaim 21, wherein the routing hardware is configured to receive theinstructions from the controller to change where the data packets areforwarded within the time-sensitive network and to change how the datapackets are forwarded with in the time-sensitive network withoutrestarting either the controller or the routing hardware.